<!DOCTYPE html "http://www.thymeleaf.org/dtd/xhtml1-strict-thymeleaf-spring4-4.dtd">

<html xmlns="http://www.w3.org/1999/xhtml"
      xmlns:th="http://www.thymeleaf.org"
      xmlns:shiro="http://www.pollix.at/thymeleaf/shiro"
    >
<meta charset="UTF-8">
<head th:include="include :: header"></head>

<body class="gray-bg">
<div class="wrapper wrapper-content ">
    <div class="col-sm-12">
        <div class="ibox">
            <div class="ibox-body">
                <div class="fixed-table-toolbar">
                    <div class="columns pull-left">
                        <button  type="button" class="btn  btn-primary" onclick="exportExcel()">
                            <i class="fa fa-plus" aria-hidden="true"></i>导出
                        </button>
                    </div>
                    <div class="columns pull-right">
                        <button class="btn btn-success" onclick="query()">查询</button>
                        <button class="btn btn-success" onclick="resetParam()">重置</button>
                    </div>

                    <div class="columns pull-right col-md-2 nopadding">
                        <select id="appId" data-placeholder="所属应用" class="form-control chosen-select" tabindex="1"
                                style="width: 100%">
                            <option value="">--APP名称--</option>
                            <option th:each="appInfo,appStat:${appInfos}" th:value="${appInfo.appId}" th:text="${appInfo.appName}"></option>
                        </select>
                    </div>
                    <div class="columns pull-right col-md-2 nopadding">
                        <select id="appChannelId" data-placeholder="所属渠道" class="form-control chosen-select" tabindex="1"
                                style="width: 100%">
                            <option value="">--渠道名称--</option>
                            <option th:each="appCnannel,appCnannelStat:${appChannelConfigs}" th:value="${appCnannel.appChannelId}" th:text="${appCnannel.appChannelName}"></option>
                        </select>
                    </div>
                    <div class="columns pull-right col-md-2 nopadding">
                        <input class="form-control" type="text" id="productName" placeholder="甲方名称" />
                    </div>
                    <div class="columns pull-right col-md-2 nopadding">
                        <input class="form-control" type="text" id="phone" placeholder="手机号" />
                    </div>
                    <div class="columns pull-right col-md-2 nopadding">
                        <input class="form-control" type="text" id="clickTime" name="clickTime" placeholder="统计时间" />
                    </div>
                </div>
            </div>
            <table id="exampleTable" data-mobile-responsive="true">
            </table>
        </div>
    </div>
</div>
</div>
<!--shiro控制bootstraptable行内按钮看见性 来自bootdo的创新方案 -->
<div>
    <script type="text/javascript">
        var s_edit_h = '';
    </script>
</div>
<div>
    <script type="text/javascript">
        s_edit_h = '';
    </script>
</div>
<div>
    <script type="text/javascript">
        var s_edit_d = '';
    </script>
</div>
<div >
    <script type="text/javascript">
        s_edit_d = '';
    </script>
</div>

</div>
<div th:include="include :: footer"></div>
<script type="text/javascript">

    var prefix = "/app/userClick";
    $(function () {
        $('#clickTime').val('');
        load();
    });

    $('input[name="clickTime"]').daterangepicker({
            locale: {
                format: 'YYYY-MM-DD',
                applyLabel: "确认",
                cancelLabel: "取消",
            }
        },
        function(start, end, label) {
            // alert("A new date range was chosen: " + start.format('YYYY-MM-DD') + ' to ' + end.format('YYYY-MM-DD'));

            // completeDate(new Date(start.format('YYYY-MM-DD')) , new Date(end.format('YYYY-MM-DD')) , 1);
        });

    function resetParam() {
        $('#appId').val('');
        $('#clickTime').val('');
        $('#appChannelId').val('');
        $('#productName').val('');
        $('#phone').val('');
        reLoad();
    }

    function load() {
        $('#exampleTable')
            .bootstrapTable(
                {
                    method: 'get', // 服务器数据的请求方式 get or post
                    url: prefix + "/list", // 服务器数据的加载地址
                    //showRefresh: true,
                    //	showToggle : true,
                    //	showColumns : true,
                    iconSize: 'outline',
                    toolbar: '#exampleToolbar',
                    striped: true, // 设置为true会有隔行变色效果
                    dataType: "json", // 服务器返回的数据类型
                    pagination: true, // 设置为true会在底部显示分页条
                    // queryParamsType : "limit",
                    // //设置为limit则会发送符合RESTFull格式的参数
                    singleSelect: false, // 设置为true将禁止多选
                    // contentType : "application/x-www-form-urlencoded",
                    // //发送到服务器的数据编码类型
                    pageSize: 10, // 如果设置了分页，每页数据条数
                    pageNumber: 1, // 如果设置了分布，首页页码
                    //search : true, // 是否显示搜索框
                    showColumns: false, // 是否显示内容下拉框（选择显示的列）
                    sidePagination: "server", // 设置在哪里进行分页，可选值为"client" 或者 "server"
                    queryParams: function (params) {
                        return {
                            //说明：传入后台的参数包括offset开始索引，limit步长，sort排序列，order：desc或者,以及所有列的键值对
                            limit: params.limit,
                            offset: params.offset,
                            appId: $('#appId').val(),
                            clickTime:$('#clickTime').val(),
                            appChannelId:$('#appChannelId').val(),
                            productName:$.trim($('#productName').val()),
                            phone:$.trim($('#phone').val())
                        };
                    },
                    // //请求服务器数据时，你可以通过重写参数的方式添加一些额外的参数，例如 toolbar 中的参数 如果
                    // queryParamsType = 'limit' ,返回参数必须包含
                    // limit, offset, search, sort, order 否则, 需要包含:
                    // pageSize, pageNumber, searchText, sortName,
                    // sortOrder.
                    // 返回false将会终止请求
                    columns: [
                        {
                            field: 'appName',
                            title: 'APP名称'
                        },
                        {
                            field: 'appChannelName',
                            title: '渠道名称'
                        },
                        {
                            field: 'productName',
                            title: '甲方'
                        },
                        {
                            field: 'phone',
                            title: '手机号'
                        },
                        {
                            field: 'deviceOs',
                            title: '设备类型',
                            formatter: function (value, row, index) {
                                if (value == '0') {
                                    return '<span class="label label-danger">未知</span>';
                                } else if (value == '1') {
                                    return '<span class="label label-primary">android</span>';
                                }else if (value == '2') {
                                    return '<span class="label label-primary">ios</span>';
                                }else if (value == '3') {
                                    return '<span class="label label-primary">H5</span>';
                                }
                            }
                        },
                        {
                            field: 'clickTime',
                            title: '统计时间',
                            formatter: function (value, row, index) {
                                return new Date(value).format('yyyy-MM-dd');
                            }
                        },
                        {
                            field: 'clickTime',
                            title: '点击时间'
                        },
                        {
                            field: 'regTime',
                            title: '注册时间'
                        }]
                });
    }

    function exportExcel() {
        var clickTime = $('#clickTime').val();
        var appId = $('#appId').val();
        var appChannelId = $('#appChannelId').val();
        var productName = $.trim($('#productName').val());
        var phone = $.trim($('#phone').val());
        // clickTime 是不是在一个月内
        var startTime = clickTime.substr(0,10);
        var endTime = clickTime.substr(13,23);
        if (completeDate(new Date(startTime),new Date(endTime),1)) {
            var r=confirm("确认要导出吗?");
            if (r==true)
            {
                window.location.href=prefix + '/exportExcel?clickTime='+clickTime + "&appId=" + appId+"&appChannelId="+appChannelId+"&productName="+productName+"&phone="+phone;
            }
        }else {
            alert("只能导出一个月的数据!");
        }
    }

    function query() {
        var opt = {
            query: {
                appId: $('#appId').val(),
                clickTime:$('#clickTime').val(),
                appChannelId:$('#appChannelId').val(),
                productName:$.trim($('#productName').val()),
                phone:$.trim($('#phone').val())
            }
        };
        $('#exampleTable').bootstrapTable('refresh', opt);
    }

    function reLoad() {
        var opt = {
            query: {
                limit: 10,
                offset: 0
            }
        };
        $('#exampleTable').bootstrapTable('refresh', opt);
    }


</script>
</body>

</body>
</html>